<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
class GPSHelper 
{
    
    public static function listaEquiposUsuario($nombre)
    {
         $equiposCommand = Yii::app()->db->createCommand(
            'SELECT ' .
            'equipo.* ' .
            'FROM ' .
            'public.equipo equipo ' .
            'JOIN public.equipoasignado equipoasignado ON equipo.id = equipoasignado.equipo_id ' .
            'JOIN public.usuario usuario ON usuario.id = equipoasignado.usuario_id ' .
            'WHERE ' .
            'usuario.nombre = :nombre ' .
            'ORDER BY usuario.nombre ');
        $equiposCommand->bindParam(":nombre", $nombre, PDO::PARAM_STR);
        return $equiposCommand->queryAll();
    }
    
    public static function comboEquipos($nombre)
    {
        $equipos = self::listaEquiposUsuario($nombre);
        $resultado = array();
        foreach ($equipos as $item)
        {
            $resultado[$item['id']] = $item['nombre'].'-'.$item['alias'];
        }
        Yii::log('miarray ' . print_r($resultado, true));
        return $resultado;
    }


    public static function infoEquipo($equipo_id)
    {
        $sql = 'SELECT equipo.*, vehiculo.* ' .
        'FROM ' .
        'public.equipo equipo ' .  
        'JOIN public.vehiculo vehiculo ON vehiculo.id = equipo.vehiculo_id ' .
        'WHERE ' .
        'equipo.id = :equipo_id ' . 
        'LIMIT 1 ';
        $equiposCommand = Yii::app()->db->createCommand($sql);
        $equiposCommand->bindParam(":equipo_id", $equipo_id, PDO::PARAM_INT);
        return $equiposCommand->queryRow();
    }
    
    public static function etiquetaEquipo($equipo_id, $hora)
    {
        $sql = 'SELECT equipo.* ' .
        'FROM ' .
        'public.equipo equipo ' .    
        'WHERE ' .
        'equipo.id = :equipo_id ' . 
        'LIMIT 1 ';
        $equiposCommand = Yii::app()->db->createCommand($sql);
        $equiposCommand->bindParam(":equipo_id", $equipo_id, PDO::PARAM_INT);
        $info = $equiposCommand->queryRow();
        
        return $info['alias'] 
                . ' (' 
                . $info['nombre'] 
                . ')'
                . ' ' 
                .$hora;
    }
    
    public static function coordActuales($equipo_id)
    {
        $sql = 'SELECT localizacion.* ' .
        'FROM public.localizacion localizacion ' . 
        'WHERE equipo_id = :equipo_id ' .
        'AND localizacion.fecha = :fecha ' .
        'ORDER BY localizacion.hora DESC ' .
        'LIMIT 1 ';
        //$date = new DateTime('NOW');
        $date = new DateTime('2012-10-23');
        Yii::log('equipo_id ' . $equipo_id);
        $coordCommand = Yii::app()->db->createCommand($sql);
        $coordCommand->bindParam('equipo_id', $equipo_id, PDO::PARAM_INT);
        $coordCommand->bindParam('fecha', $date->format('Y-m-d'), PDO::PARAM_STR);
        $coord = $coordCommand->queryRow();
        
        Yii::log('fecha ' . $date->format('Y-m-d'));
        
        $coordenadas = new Coordenadas();
        $coordenadas->id=$coord['id'];
        $coordenadas->hora=$coord['hora'];
        $coordenadas->latitud=$coord['latitud'];
        $coordenadas->longitud=$coord['longitud'];
        $coordenadas->status=$coord['status'];
        $coordenadas->velocidad=$coord['velocidad'];
        $coordenadas->referencia=$coord['referencia'];
        $coordenadas->fecha=$coord['fecha'];
        $coordenadas->equipo_id=$coord['equipo_id'];
        
        Yii::log('coord ' . print_r($coord, true));
        return $coordenadas;
    }
    
    public static function comboPosicionesDia($equipo_id)
    {
        $sql = 'SELECT localizacion.* ' .
        'FROM public.localizacion localizacion ' . 
        'WHERE equipo_id = :equipo_id ' .
        'AND localizacion.fecha = :fecha ' .
        'ORDER BY localizacion.hora DESC ';

        //$date = new DateTime('NOW');
        $date = new DateTime('2012-10-23');
        Yii::log('equipo_id ' . $equipo_id);
        $coordCommand = Yii::app()->db->createCommand($sql);
        $coordCommand->bindParam('equipo_id', $equipo_id, PDO::PARAM_INT);
        $coordCommand->bindParam('fecha', $date->format('Y-m-d'), PDO::PARAM_STR);
        $coordenadas = $coordCommand->queryAll();
        
        $resultado = array();
        $i=1;
        foreach ($coordenadas as $item)
        {
            $resultado[$item['id']] = 
                    $i . ': '
                    .$item['fecha'] . ', '
                    .$item['hora'];
                    
            $i++;
        }
        return $resultado;
    }
}
?>
